import os
import tarfile
# 获取当前目录下的所有文件
def read_inM(base_dir):
    files = [os.path.join(base_dir, file) for file in os.listdir(base_dir)]
    # 遍历文件列表，输出文件名
    # for file in files:
    #     print(file)
    return files
def decompression_tar(tar_path, file_path):
    """
    解压缩 tar 或 tar.gz 文件
    :param tar_path:tar文件路径
    :param file_path:解压后文件路径
    :return:
    """
    t = tarfile.open(tar_path)
    t.extractall(path=file_path)
    t.close()
# 使用 os.listdir() 函数获得文件夹中所有文件的列表。
# 使用 os.path.join() 函数构建完整的文件路径，
# 然后检查文件名是否以 .ud 结尾并且是一个文件（不是文件夹）
# 则使用 os.remove() 函数删除文件。
# folder_path文件夹路径
def tar_s():
    files = read_inM(r'E:\A大论文\论文数据\V图数据\解压')
    for file in files:  # 每一个的
        files_low = read_inM(file)  # 二级.gz列表
        # os.path.dirname() 函数来获取路径的目录部分
        for files_end in files_low:  # .gz的每一个
            directory = os.path.dirname(files_end)
            decompression_tar(files_end, directory)
def remove_s(folder_path):
    dir_list = read_inM(folder_path) #外层
    for file_path in dir_list: #.gz列表
        if not (file_path.endswith(".UD") or file_path.endswith(".UD1")):
            os.remove(file_path)
# 主启动
if __name__ == "__main__":
    tar_s() #解压
    files = read_inM(r'E:\A大论文\论文数据\V图数据\解压'); #删除
    for file in files:
            remove_s(file)


